package br.com.br1.fv.model;

import java.util.Collection;
import java.util.Map;

import javax.sql.DataSource;

public interface Dao {

	void create(ValueObject vo);

	void update(ValueObject vo, QueryCriteria criteria);

	void remove(QueryCriteria criteria);

	Collection<ValueObject> select(QueryCriteria criteria);
	
	Collection<ValueObject> nativeSelect(String query, Map<String, Object> parameters);
	
	String getTableName();
	
	void setTableName(String tableName);

	DataSource getDataSource();
	
	void setDataSource(DataSource ds);
}
